package Controleur;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import Vue.AjoutClient;

/**
 * Définit l'écouteur de touche d'ajout client
 */
public class AjoutClientKeyListener implements KeyListener {

	/** La vue de l'ajout client */
	private AjoutClient ajClient;

	/**
	 * Instancie l'écouteur de touche d'ajout client
	 * 
	 * @param p_ajClient
	 *            La vue de l'ajout client
	 */
	public AjoutClientKeyListener(AjoutClient p_ajClient) {
		this.ajClient = p_ajClient;
	}

	/**
	 * Evenement de l'appui sur une touche
	 * 
	 * @param arg0
	 *            l'objet evenement
	 */
	@Override
	public void keyPressed(KeyEvent arg0) {
		// TODO Auto-generated method stub
		ajoutClient_estValide();
	}

	/**
	 * Evenement de la relache d'une touche
	 * 
	 * @param arg0
	 *            l'objet evenement
	 */
	@Override
	public void keyReleased(KeyEvent arg0) {
		// TODO Auto-generated method stub
		ajoutClient_estValide();
	}

	/**
	 * Evenement de l'appui relaché d'une touche
	 * 
	 * @param arg0
	 *            l'objet evenement
	 */
	@Override
	public void keyTyped(KeyEvent arg0) {
		// TODO Auto-generated method stub
		ajoutClient_estValide();
	}

	/**
	 * Validation des champs de l'ajout d'un client
	 */
	public void ajoutClient_estValide() {
		if (ajClient.getField_LieuNaiss().getText().isEmpty()
				|| ajClient.getField_Nom().getText().isEmpty()
				|| ajClient.getField_Prenom().getText().isEmpty()
				|| ajClient.getField_DateN().getText().length() != 10) {
			ajClient.getLblToutesLesDonnes().setForeground(ajClient.getRed());
			ajClient.getLblToutesLesDonnes().setText(
					"Toutes les donn\u00E9es ne sont pas bien remplies.");
			ajClient.getBtnValider().setEnabled(false);

		} else {
			ajClient.getLblToutesLesDonnes().setForeground(ajClient.getGreen());
			ajClient.getLblToutesLesDonnes().setText("Données correctes.");
			ajClient.getBtnValider().setEnabled(true);
		}
	}
}
